/*lic*/
#ifndef __MAIN_TASK_FSM_H__
#define __MAIN_TASK_FSM_H__

#include "fsm_base.h"

#define MAIN_TASK_INIT (1 << 0) // 需要初始化系统
#define RTC_TIME_FLASH (1 << 1) // 需要RTC对时
#define INIT_TASK_LIST (1 << 2) // 需要初始化任务队列

#define MAIN_TASK_INIT_FINISHED  (1 << 3) // 初始化系统成功
#define RTC_TIME_FINISHED (1 << 4) // RTC对时成功
#define READ_INNER_CONF (1<<5) // 读取flash中的配置文件
#define CONF_IMU406_FINISHED (1<<6) // 配置IMU406
#define INIT_TASK_LIST_FINISHED (1 << 7) // 初始化任务完成

#define ENABLE_MPU6050 (1<<8) // 启动MPU6050接收任务
#define GET_MPU6050_DATA (1<<9) // MPU6050获取到数据
#define GET_MPU6050_WARNING (1<<10) // 获取到MPU告警

#define CHECK_IMU406_CONF (1<<11) // 检查IMU406数据
#define READ_IMU406_DATA (1<<11) // 获取IMU406数据
#define IMU406_DATA_READY (1<<12) // 打包IMU406数据成功

#define GET_NTC_DATA (1<<13) // 获取NTC温度传感器数据
#define GET_VBAT_DATA (1<<14) // 获取电池电压成功

#define BUILD_DTU_DATA_FINISHED (1<<15) // 打包4G上传数据完成


typedef struct __Tag_Main_Task_Def {
	Fsm_Ctrl_Def sys_fsm;
}Main_Task_Def;

extern Main_Task_Def sys_task;

// 主任务循环
void Main_Task_Loop_Interface();

// 创建主任务
void Create_Main_Task_Obj();

#endif /* __MAIN_TASK_FSM_H__ */

/*eof*/
